package me.boot.common.data.model;

import lombok.Data;

import java.io.Serializable;
import java.util.List;
import java.util.Map;

/**
 * @Description:
 * @author: Sylar
 * @date: 2021年09月28日 4:13 下午
 */
@Data
public class UserInfo implements Serializable {
    private Long tenantId;
    private Long companyId;
    private Long departmentId;
    private Long userId;
    private String userName;
    private String tenantName;
    private String companyName;
    private String departmentName;

    private List<Long> companyIds;

    /**
     * 用户同时兼职的所有部门
     */
    private List<Long> departmentIds;

    /**
     * 用户同时兼职的所有部门及其下属部门
     */
    private List<Long> nestedDepartmentIds;

    private List<Long> roleIds;

    /**
     * 该用户所在的租户信息
     */
    private TenantInfo tenant;

    /**
     * 该用户前端呈现的资源树
     */
    private ResourceInfo resourceTree;

    /**
     * 该用户的所有角色
     */
    private List<RoleInfo> roles;

    /**
     * 该用户的所有资源
     */
    private List<ResourceInfo> resources;

    /**
     * 该用户的所有数据权限
     * key   -- mappedStatementId
     * value -- DataPermissionInfo
     */
    private Map<String, DataPermissionInfo> dataPermissionInfoMap;
}
